using Net35.Xrm.Sdk;
using System;
using System.Runtime.Serialization;
namespace Net35.Crm.Sdk.Messages
{
	[DataContract(Namespace = "http://schemas.microsoft.com/crm/2011/Contracts")]
	public sealed class ImportSolutionRequest : OrganizationRequest
	{
		public bool OverwriteUnmanagedCustomizations
		{
			get
			{
				return base.Parameters.Contains("OverwriteUnmanagedCustomizations") && (bool)base.Parameters["OverwriteUnmanagedCustomizations"];
			}
			set
			{
				base.Parameters["OverwriteUnmanagedCustomizations"] = value;
			}
		}
		public bool PublishWorkflows
		{
			get
			{
				return base.Parameters.Contains("PublishWorkflows") && (bool)base.Parameters["PublishWorkflows"];
			}
			set
			{
				base.Parameters["PublishWorkflows"] = value;
			}
		}
		public byte[] CustomizationFile
		{
			get
			{
				if (base.Parameters.Contains("CustomizationFile"))
				{
					return (byte[])base.Parameters["CustomizationFile"];
				}
				return null;
			}
			set
			{
				base.Parameters["CustomizationFile"] = value;
			}
		}
		public Guid ImportJobId
		{
			get
			{
				if (base.Parameters.Contains("ImportJobId"))
				{
					return (Guid)base.Parameters["ImportJobId"];
				}
				return default(Guid);
			}
			set
			{
				base.Parameters["ImportJobId"] = value;
			}
		}
		public bool ConvertToManaged
		{
			get
			{
				return base.Parameters.Contains("ConvertToManaged") && (bool)base.Parameters["ConvertToManaged"];
			}
			set
			{
				base.Parameters["ConvertToManaged"] = value;
			}
		}
		public bool SkipProductUpdateDependencies
		{
			get
			{
				return base.Parameters.Contains("SkipProductUpdateDependencies") && (bool)base.Parameters["SkipProductUpdateDependencies"];
			}
			set
			{
				base.Parameters["SkipProductUpdateDependencies"] = value;
			}
		}
		public ImportSolutionRequest()
		{
			base.RequestName = "ImportSolution";
			this.OverwriteUnmanagedCustomizations = false;
			this.PublishWorkflows = false;
			this.CustomizationFile = null;
			this.ImportJobId = default(Guid);
		}
	}
}
